from abc import abstractmethod
from typing import Optional, List

from workflow.TextPayLoad import TextPayLoad
from workflow.Configuration import STATE

# print(TextPayLoad.raw_text)

class BaseAnalyzerConfig:
    TYPE: str = "Base"

class BaseAnalyzer:
    TYPE: str = "Base"
    
    @abstractmethod
    def analyze(
        self,
        source_response: TextPayLoad,
        **kwargs,
    ) -> TextPayLoad:
        
        pass